package com.kws.merchant.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.kws.merchant.domain.Device;
import com.kws.merchant.domain.po.DevicePo;
import com.kws.merchant.domain.po.RemarkPo;
import com.kws.merchant.domain.po.StatusCheck;
import com.kws.merchant.domain.vo.DeviceVo;

import java.util.List;

/**
 * 商品-设备(Device)表服务接口
 *
 * @author yxy
 * @since 2024-10-22 11:03:38
 */
public interface DeviceService extends IService<Device> {

    /**
     * 分页查询列表
     * @param devicePo
     * @return
     */
    Page<Device> pageList(DevicePo devicePo);

    /**
     * 设备上下架
     * @param statusCheck
     * @return
     */
    boolean updateStatus(StatusCheck statusCheck);

    /**
     * 通过主键查询单条数据
     * @param id
     * @return
     */
    DeviceVo detailById(Long id);

    /**
     * 根据设备编码获取设备信息
     * @param code
     * @return
     */
    Device getByCode(String code);

    /**
     * 新增设备
     * @param device
     * @return
     */
    boolean addDevice(Device device);

    /**
     * 设备评论
     * @return
     */
    boolean deviceRemark(RemarkPo remarkPo );

    /**
     * 修改设备数据
     * @param device
     * @return
     */
    boolean updateDevice(Device device);

    /**
     * 删除设备
     * @param id
     * @return
     */
    Object delete(Long id);

    /**
     * 撤销审核
     * @param id
     * @return
     */
    boolean repealCheck(Long id);

    /**
     * 删除设备-可删除多个
     * @param idList
     * @return
     */
    Object removeByIdList(List<Long> idList);

    /**
     * 商家设备列表
     * @return
     */
    List<Device> listByMerchant();
}
